#ifndef SDM_H
#define SDM_H

#include <ctime>
#include <iostream>

#include "rna/backpropagation.h"

class Training: public Backpropagation {

public:
    explicit Training(const std::vector<size_t> &layers, data_t learningRate = .3);
    void train(const std::vector<const input_t*>& data);
    void test(const std::vector<const input_t*>& data, std::ofstream& stream);
    void randomize();

protected:
    std::vector< std::pair<data_t*, data_t*>* > _traningdata;

    enum OutputType {
        Undefined, VP, VN, FP, FN
    };

    OutputType rate(double *output, double *target);
};

/*
void Training::test(const std::string &filename) {

}*/
#endif // SDM_H


